<h1><code ng:non-bindable=""></code>
<span class="hint"></span>
</h1>
<div><a href="http://github.com/angular/angular.js/edit/master/docs/content/guide/dev_guide.mvc.ngdoc" class="improve-docs btn btn-primary">Improve this doc</a><p>While Model-View-Controller (MVC) has acquired different shades of meaning over the years since it
first appeared, Angular incorporates the basic principles behind the original <a href="http://en.wikipedia.org/wiki/Model–view–controller">MVC</a> software design pattern into its way of
building client-side web applications.</p>

<p>The MVC pattern summarized:</p>

<ul>
<li>Separate applications into distinct presentation, data, and logic components</li>
<li>Encourage loose coupling between these components</li>
</ul>

<p>Along with <a href="guide/dev_guide.services">services</a> and <a href="guide/di">dependency injection</a>, MVC
makes angular applications better structured, easier to maintain and more testable.</p>

<p>The following topics explain how angular incorporates the MVC pattern into the angular way of
developing web applications:</p>

<ul>
<li><a href="guide/dev_guide.mvc.understanding_model">Understanding the Model Component</a></li>
<li><a href="guide/dev_guide.mvc.understanding_controller">Understanding the Controller Component</a></li>
<li><a href="guide/dev_guide.mvc.understanding_view">Understanding the View Component</a></li>
</ul></div>
